```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Java远程调试指南 | 技术小馆</title>
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            color: #333;
            line-height: 1.6;
            background-color: #f9fafb;
        }
        h1, h2, h3, h4, h5 {
            font-family: 'Noto Serif SC', serif;
            font-weight: 600;
            color: #1a1a1a;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
        }
        .card-hover {
            transition: all 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
        }
        .command-box {
            background-color: #2d3748;
            border-left: 4px solid #a777e3;
        }
        .param-highlight {
            color: #a777e3;
            font-weight: 500;
        }
        .footer-link:hover {
            color: #a777e3;
        }
        .first-letter::first-letter {
            font-size: 3.5rem;
            float: left;
            line-height: 0.8;
            margin-right: 0.5rem;
            color: #6e8efb;
            font-weight: 700;
        }
    </style>
</head>
<body class="antialiased">
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 px-4">
        <div class="container mx-auto max-w-5xl">
            <div class="flex flex-col items-center text-center">
                <h1 class="text-4xl md:text-5xl font-bold mb-4">Java远程调试完全指南</h1>
                <p class="text-xl md:text-2xl mb-8 max-w-3xl">掌握JDWP协议，实现高效远程调试工作流程</p>
                <div class="flex space-x-4">
                    <a href="#start" class="px-6 py-3 bg-white text-purple-600 font-semibold rounded-lg hover:bg-opacity-90 transition">开始学习</a>
                    <a href="#command" class="px-6 py-3 border-2 border-white text-white font-semibold rounded-lg hover:bg-white hover:bg-opacity-10 transition">调试命令</a>
                </div>
            </div>
        </div>
    </section>

    <!-- Main Content -->
    <main class="container mx-auto max-w-5xl px-4 py-12">
        <!-- Introduction -->
        <section id="start" class="mb-16">
            <div class="flex items-center mb-6">
                <i class="fas fa-rocket text-2xl text-purple-600 mr-3"></i>
                <h2 class="text-3xl font-semibold">快速开始</h2>
            </div>
            <div class="bg-white rounded-xl shadow-md p-6 md:p-8 mb-8 card-hover">
                <p class="first-letter mb-6">Java远程调试是开发者在分布式环境或服务器部署环境下进行问题排查的重要手段。通过JDWP(Java Debug Wire Protocol)协议，我们可以实现本地IDE与远程JVM的调试连接，极大提升开发效率。</p>
                
                <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
                    <div class="bg-white p-6 rounded-lg border border-gray-100 shadow-sm">
                        <div class="text-purple-600 mb-3">
                            <i class="fas fa-server text-3xl"></i>
                        </div>
                        <h3 class="text-xl font-semibold mb-2">1. 上传服务</h3>
                        <p class="text-gray-600">将打包好的JAR文件上传到目标服务器</p>
                    </div>
                    <div class="bg-white p-6 rounded-lg border border-gray-100 shadow-sm">
                        <div class="text-purple-600 mb-3">
                            <i class="fas fa-terminal text-3xl"></i>
                        </div>
                        <h3 class="text-xl font-semibold mb-2">2. 启动调试</h3>
                        <p class="text-gray-600">使用特定命令启动远程调试服务</p>
                    </div>
                    <div class="bg-white p-6 rounded-lg border border-gray-100 shadow-sm">
                        <div class="text-purple-600 mb-3">
                            <i class="fas fa-plug text-3xl"></i>
                        </div>
                        <h3 class="text-xl font-semibold mb-2">3. IDE连接</h3>
                        <p class="text-gray-600">配置本地IDE连接远程调试端口</p>
                    </div>
                </div>
                
                <div class="mb-8">
                    <img src="https://cdn.nlark.com/yuque/0/2023/png/21449790/1681039021139-49928ba8-a3bc-4f79-b949-1f4efa414bc2.png" alt="上传服务图示" class="rounded-lg shadow-md w-full">
                </div>
            </div>
        </section>

        <!-- Debug Command Section -->
        <section id="command" class="mb-16">
            <div class="flex items-center mb-6">
                <i class="fas fa-terminal text-2xl text-purple-600 mr-3"></i>
                <h2 class="text-3xl font-semibold">调试命令详解</h2>
            </div>
            
            <div class="bg-white rounded-xl shadow-md p-6 md:p-8 mb-8 card-hover">
                <div class="command-box text-white p-4 rounded-lg mb-6 font-mono overflow-x-auto">
                    <p>java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888 -jar user-crud.jar</p>
                </div>
                
                <div class="mb-6">
                    <img src="https://cdn.nlark.com/yuque/0/2023/png/21449790/1681039215908-6fd3786b-8689-493c-a36a-e485f8dae85a.png" alt="命令执行图示" class="rounded-lg shadow-md w-full">
                </div>
                
                <h3 class="text-2xl font-semibold mb-4 text-purple-600">参数说明</h3>
                <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
                    <div class="p-4 border border-gray-100 rounded-lg">
                        <p class="font-semibold mb-2"><span class="param-highlight">transport</span></p>
                        <p>指定调试应用和调试者之间的通信协议：<br>
                        <span class="font-mono">dt_socket</span>：socket方式连接<br>
                        <span class="font-mono">dt_shmem</span>：共享内存方式(仅Windows)</p>
                    </div>
                    <div class="p-4 border border-gray-100 rounded-lg">
                        <p class="font-semibold mb-2"><span class="param-highlight">server</span></p>
                        <p>指定当前应用角色：<br>
                        <span class="font-mono">y</span>：作为被调试服务端<br>
                        <span class="font-mono">n</span>：作为调试客户端</p>
                    </div>
                    <div class="p-4 border border-gray-100 rounded-lg">
                        <p class="font-semibold mb-2"><span class="param-highlight">suspend</span></p>
                        <p>启动后是否阻塞等待连接：<br>
                        <span class="font-mono">y</span>：阻塞等待<br>
                        <span class="font-mono">n</span>：不阻塞(默认)</p>
                    </div>
                    <div class="p-4 border border-gray-100 rounded-lg">
                        <p class="font-semibold mb-2"><span class="param-highlight">address</span></p>
                        <p>调试连接端口(必须与项目端口不同)<br>
                        示例：<span class="font-mono">8888</span> 或 <span class="font-mono">localhost:8888</span></p>
                    </div>
                </div>
                
                <h3 class="text-2xl font-semibold mb-4 text-purple-600">常用命令示例</h3>
                <div class="space-y-4 mb-8">
                    <div class="command-box text-white p-4 rounded-lg font-mono overflow-x-auto">
                        <p>-agentlib:jdwp=transport=dt_socket,server=y,address=8000</p>
                        <p class="text-gray-300 text-sm mt-1"># Socket监听8000端口，启动阻塞直到被连接</p>
                    </div>
                    <div class="command-box text-white p-4 rounded-lg font-mono overflow-x-auto">
                        <p>-agentlib:jdwp=transport=dt_socket,server=y,address=localhost:8000,timeout=5000</p>
                        <p class="text-gray-300 text-sm mt-1"># 5秒无连接则终止，启动阻塞直到被连接</p>
                    </div>
                    <div class="command-box text-white p-4 rounded-lg font-mono overflow-x-auto">
                        <p>-agentlib:jdwp=transport=dt_shmem,server=y,suspend=n</p>
                        <p class="text-gray-300 text-sm mt-1"># 共享内存连接，启动不阻塞</p>
                    </div>
                </div>
            </div>
        </section>

        <!-- IDE Configuration Section -->
        <section id="ide" class="mb-16">
            <div class="flex items-center mb-6">
                <i class="fas fa-cog text-2xl text-purple-600 mr-3"></i>
                <h2 class="text-3xl font-semibold">IDE远程调试配置</h2>
            </div>
            
            <div class="bg-white rounded-xl shadow-md p-6 md:p-8 mb-8 card-hover">
                <h3 class="text-2xl font-semibold mb-4 text-purple-600">IntelliJ IDEA 配置步骤</h3>
                
                <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
                    <div class="p-4">
                        <div class="text-center mb-4">
                            <img src="https://cdn.nlark.com/yuque/0/2023/png/21449790/1681039264635-77dcbd51-a054-42e1-be9b-a4185a52715e.png" alt="新建远程连接" class="rounded-lg shadow-md">
                        </div>
                        <p class="text-center font-medium">1. 新建远程调试配置</p>
                    </div>
                    <div class="p-4">
                        <div class="text-center mb-4">
                            <img src="https://cdn.nlark.com/yuque/0/2023/png/21449790/1681039330210-e1e6b826-f672-4369-a465-edf18d471605.png" alt="参数配置" class="rounded-lg shadow-md">
                        </div>
                        <p class="text-center font-medium">2. 配置连接参数</p>
                    </div>
                    <div class="p-4">
                        <div class="text-center mb-4">
                            <img src="https://cdn.nlark.com/yuque/0/2023/png/21449790/1681039386193-b0e70ebf-b620-462c-908b-d7a40a449eab.png" alt="启动项目" class="rounded-lg shadow-md">
                        </div>
                        <p class="text-center font-medium">3. 启动远程调试</p>
                    </div>
                </div>
                
                <div class="mb-8">
                    <h3 class="text-2xl font-semibold mb-4 text-purple-600">调试效果展示</h3>
                    <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                        <div>
                            <img src="https://cdn.nlark.com/yuque/0/2023/png/21449790/1681039411079-980c2bf9-e31b-4acc-9646-49533b1c6ab4.png" alt="调试效果1" class="rounded-lg shadow-md w-full">
                        </div>
                        <div>
                            <img src="https://cdn.nlark.com/yuque/0/2023/png/21449790/1681039434379-2e49bd4d-5c5f-480d-9ede-612f3ce781b6.png" alt="调试效果2" class="rounded-lg shadow-md w-full">
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Visualization Section -->
        <section class="mb-16">
            <div class="flex items-center mb-6">
                <i class="fas fa-project-diagram text-2xl text-purple-600 mr-3"></i>
                <h2 class="text-3xl font-semibold">调试流程图示</h2>
            </div>
            
            <div class="bg-white rounded-xl shadow-md p-6 md:p-8 card-hover">
                <div class="mermaid">
                    sequenceDiagram
                        participant 开发者机器
                        participant 远程服务器
                        开发者机器->>远程服务器: 1. 上传JAR包
                        远程服务器->>远程服务器: 2. 启动调试服务 (jdwp)
                        开发者机器->>远程服务器: 3. IDE连接调试端口
                        远程服务器-->>开发者机器: 4. 返回调试信息
                        loop 调试会话
                            开发者机器->>远程服务器: 设置断点/单步执行
                            远程服务器-->>开发者机器: 返回变量值/堆栈信息
                        end
                </div>
            </div>
        </section>
    </main>

    <!-- Footer -->
    <footer class="bg-gray-900 text-gray-300 py-12 px-4">
        <div class="container mx-auto max-w-5xl">
            <div class="flex flex-col items-center text-center">
                <h2 class="text-xl font-semibold mb-2">技术小馆</h2>
                <a href="http://www.yuque.com/jtostring" class="footer-link hover:text-purple-400 transition">http://www.yuque.com/jtostring</a>
                <div class="mt-6 flex space-x-4">
                    <a href="#" class="footer-link hover:text-purple-400 transition"><i class="fab fa-github"></i></a>
                    <a href="#" class="footer-link hover:text-purple-400 transition"><i class="fab fa-twitter"></i></a>
                    <a href="#" class="footer-link hover:text-purple-400 transition"><i class="fab fa-weixin"></i></a>
                </div>
            </div>
        </div>
    </footer>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            fontFamily: '"Noto Sans SC", sans-serif',
            sequence: {
                diagramMarginX: 50,
                diagramMarginY: 10,
                boxTextMargin: 5,
                noteMargin: 10,
                messageMargin: 35,
                mirrorActors: false
            }
        });
        
        // 平滑滚动
        document.querySelectorAll('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function (e) {
                e.preventDefault();
                document.querySelector(this.getAttribute('href')).scrollIntoView({
                    behavior: 'smooth'
                });
            });
        });
    </script>
</body>
</html>
```